//
//  AirObjectPool.h
//  AirCpp
//
//  Created by Penghao on 14-3-5.
//  Copyright (c) 2014年 PengHao. All rights reserved.
//

#ifndef __AirCpp__AirObjectPool__
#define __AirCpp__AirObjectPool__

#include <iostream>
#include <typeinfo>
#include "AirObject.h"

namespace AirCpp{
    class AirObjectBlock : public AirObject{
    public:
        AirObjectBlock *p_next;
        void *object;
    };
    
    class AirObjectPoolBlock : public AirObject{
    public:
        std::type_info type;
        AirObjectPoolBlock *p_next;
        AirObjectBlock *block;
        AirObjectBlock *get_unused_block;
    };
    
    class AirObjectPool : public AirObject{
    protected:
    public:
        template <class T>
        T *creat(){
            return NULL;
        }
        
       
    private:
    };
}
#endif /* defined(__AirCpp__AirObjectPool__) */
